import argparse
import requests
import json
import wget
import os
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
api_addr = 'https://gitee.com/api/v5/repos/xiaowumin-mark/CodeSpeak-LibraryNotes/releases/latest'

def download(url):
    # 请求最新版api
    api = requests.get(api_addr).text

    # 将json数据转换为字典
    data = json.loads(api)

    # 获取最新版下载链接
    download_url = data['assets']

    # 检测下载链接中的exe文件
    for i in download_url:
        if i['name'].endswith('.exe'):
            # 下载最新版
            wget.download(i['browser_download_url'], download_path+i['name'])


# 1.创建参数解析器
parser = argparse.ArgumentParser(description='')

# 2.添加行为参数（action arguments）
parser.add_argument('-download', action='store_true', help='下载最新版')
parser.add_argument('-latest', action='store_true', help='返回版本信息')
parser.add_argument('-path', type=str, help='下载目录', default='.')

# 3.解析命令行参数
args = parser.parse_args()

# 更改下载目录功能
if not os.path.exists(args.path): # 判断目录是否存在
        os.makedirs(args.path)
download_path = args.path+'\\'

# 判断参数值
if args.download:
    # 执行下载
    download(api_addr)
elif args.latest:
    # 请求最新版api
    api = requests.get(api_addr).text

    # 将json数据转换为字典
    data = json.loads(api)

    print(data['tag_name'])